#pragma once
#include "es_list.h"

typedef struct
{
	int  prg_num;	    // 节目号
 	int  pmt_pid;
	int  pcr_pid;

	int  prg_type;		// 节目类型, service描述符中使用
	char prg_name[40]; 	// 节目名称
	char pro_name[40]; 	// 提供商名

	LIST pmt_des_list;	// PMT第一个循环的描述符链表
	LIST es_list;		// ES链表
	LIST sdt_des_list;	// SDT的描述符链表

	NODE node;
} PRGELEM;

// 单元
PRGELEM* 	PRGELEM_malloc(int prg_num, int prg_type, char *pro_name, int pmt_pid, int pcr_pid);
void 		PRGELEM_free(PRGELEM *elem);

// 链表
void		PRGELEM_LIST_init(LIST *list);
void		PRGELEM_LIST_free(LIST *list);
void		PRGELEM_LIST_add(LIST *list, PRGELEM *elem);
